Computer networks typically include a plurality of network-coupled devices that have the capacity to communicate between themselves. The communications between the network-coupled devices can include traffic that can be composed of a series of packets. The devices in the network can receive and/or transmit traffic. Packets that are received can be modified before they are forwarded. Devices that function improperly can cause improper packet modifications or errors. The traffic that is transmitted by such improperly functioning devices is unreliable.
Conventional traffic checking systems examine the traffic that is forwarded from a device under test (DUT) to determine if the DUT has handled the traffic that is forwarded by it properly. Stimulus traffic composed of a series of packets that are generated by a traffic generator are transmitted to the DUT to cause the DUT to forward traffic that can then be examined by the traffic checking system. Such traffic checking systems determine whether the DUT has transmitted the correct traffic, in the correct form, the correct number of times. Moreover, such systems facilitate an assessment of traffic flow through the DUT and provide information that assists network designers in the planning of networks.
Conventional traffic checking systems can be found in equipment that is designed by suppliers who specialize in traffic checking technologies. Such traffic checking systems generally do not employ large, flexible, lists of data that enable an identification of expected packets or the automated checking of traffic content and its modifications at high data rates. Moreover, when a packet that contains an error is detected, there is no mechanism in such systems for capturing the packet for analysis purposes. Importantly, in many cases, conventional equipment is specialized and expensive and does not take advantage of the features that are already a part of the DUT (e.g., switching chips) that could provide cost savings.
Some conventional traffic checking systems only check to determine whether a frame check sequence (FCS) of a forwarded packet is valid and whether the number of forwarded packets is correct. Consequently, if a DUT carries out an incorrect modification to a packet, but places the proper FCS on the improperly modified packet and forwards it out of the expected port, the test equipment may not detect the failure. A conventional solution to this shortcoming is to add a field to stimulus packets that are generated that can be read to determine whether portions of the packets have at all been modified. However, this solution is inadequate because such fields do not facilitate a determination of whether a packet has been correctly modified. In addition, the additional field is problematic as it places an additional constraint on the generation of stimulus packets.